// JavaScript Document
$(function(){

	/*折叠菜单导航栏*/
	$(".nav-parent ul").first().show();
	$(".parent-li").click(function(){
		/*$(".out p").slideToggle();*/
		$(this).next("ul").slideToggle().siblings("ul").slideUp();//定为当个li标签的下一个ul标签产生切换效果，并且让周边兄弟的ul标签处于隐藏效果。
	});
	
	
	/*隐藏显示搜索栏*/
	$('.chevron-down-up').click(function(){
		$('.search-box').toggle();
		$('.chevron-down-up').toggleClass('chevron-down-up glyphicon glyphicon-chevron-down').toggleClass('chevron-down-up glyphicon glyphicon-chevron-up');
	});
	
	/*选定下拉选项值*/
	$('#dropYear').on('show.bs.dropdown', function(e){
		$('#dropYear li').on('click', function(){
			$('#dropYear button span').text($(this).text());
            $('#dropYear button').val($(this).val());
		});	
	});
	$('#dropMonth').on('show.bs.dropdown', function(e){
		$('#dropMonth li').on('click', function(){
			$('#dropMonth button span').text($(this).text());
            $('#dropMonth button').val($(this).val());
		});	
	});

    /**
	 * 分页
     */
    $(function() {

        pageStart();//开始分页

        function pageStart() {//分页函数
            $.ajax({ //去后台查询第一页数据
                url: '/user/article/manage/all/1', //参数：当前页为1
                type: 'GET',
                contentType : "application/json",
                dataType : 'json',
                success : function(data) {

                    appendArticleHtml(data.articles, data.username);//处理第一页的数据
                    appendDeleteEvent(data.articles); //删除文章

                    var options = {//根据后台返回的分页相关信息，设置插件参数
                        bootstrapMajorVersion : 3, //如果是bootstrap3版本需要加此标识，并且设置包含分页内容的DOM元素为UL,如果是bootstrap2版本，则DOM包含元素是DIV
                        currentPage : data.current_page, //当前页数
                        totalPages : data.total_page, //总页数
                        numberOfPages : 5,//显示的页码数
                        itemTexts : function(type, page, current) {//设置分页按钮显示字体样式
                            switch (type) {
                                case "first":
                                    return "&laquo;";
                                case "prev":
                                    return "&lsaquo;";
                                case "next":
                                    return "&rsaquo;";
                                case "last":
                                    return "&raquo;";
                                case "page":
                                    return page;
                            }
                        },
                        onPageClicked : function(event, originalEvent, type, page) {//分页按钮点击事件
                            $.ajax({//根据page去后台加载数据
                                url : "/user/article/manage/all/" + page,
                                method : "GET",
                                dataType : "json",
                                success : function(data) {
                                    appendArticleHtml(data.articles, data.username);//处理数据
                                    appendDeleteEvent(data.articles); //删除文章
                                }
                            });
                        }
                    };
                    if(data.total_page <= 1) return;
                    $('#articlePage').bootstrapPaginator(options);//设置分页
                }
            });
        }

    });

    //条件筛选搜索按钮
    $('#search').on('click', function(){
        var year = $('#dropYear button').val();
        var month = $('#dropMonth button').val();
        var keyword = $('#key_word').val();
        var jointUrl = '?query=screen';
        jointUrl += (year!='' && year!=0)?('&year=' + year):'';
        jointUrl += (month!='' && month!=0)?('&month=' + month):'';
        jointUrl += (keyword!='')?('&keyword=' + encodeURI(encodeURI(keyword))):'';
        $.ajax({//根据page去后台加载数据
            url : "/user/article/manage/all/1" + jointUrl,
            method : "GET",
            dataType : "json",
            success : function(data) {
                appendArticleHtml(data.articles, data.username);//处理数据

                var options = {//根据后台返回的分页相关信息，设置插件参数
                    bootstrapMajorVersion : 3, //如果是bootstrap3版本需要加此标识，并且设置包含分页内容的DOM元素为UL,如果是bootstrap2版本，则DOM包含元素是DIV
                    currentPage : data.current_page, //当前页数
                    totalPages : data.total_page, //总页数
                    numberOfPages : 5,//显示的页码数
                    itemTexts : function(type, page, current) {//设置分页按钮显示字体样式
                        switch (type) {
                            case "first":
                                return "&laquo;";
                            case "prev":
                                return "&lsaquo;";
                            case "next":
                                return "&rsaquo;";
                            case "last":
                                return "&raquo;";
                            case "page":
                                return page;
                        }
                    },
                    onPageClicked : function(event, originalEvent, type, page) {//分页按钮点击事件
                        $.ajax({//根据page去后台加载数据
                            url : "/user/article/manage/all/" + page + jointUrl,
                            method : "GET",
                            dataType : "json",
                            success : function(data) {
                                appendArticleHtml(data.articles, data.username);//处理数据
                                appendDeleteEvent(data.articles); //删除文章
                            },
                            error: function(){}
                        });
                    }
                };
                $("#articlePage").empty();
                if(data.total_page <= 1) return;
                $('#articlePage').bootstrapPaginator(options);//设置分页
            }
        });
    });

    //此函数用于处理后台返回的数据，根据自己需求来实现页面拼接
    function appendArticleHtml(list, username) {
        var htmlStr = '';
        for (var i = 0; i < list.length; i++) {
            htmlStr += '<div class="article-list-item">';
            htmlStr += '<h3>' + list[i].art_title + '</h3>';
            htmlStr += '<ul class="item-info-left">';
            htmlStr += '<li>' + list[i].create_time + '</li>';
            htmlStr += '<li><i class="glyphicon glyphicon-book" style="margin-right:3px;"></i>23</li>';
            htmlStr += '<li><i class="glyphicon glyphicon-comment" style="margin-right:3px;"></i>' + list[i].com_num + '</li>';
            htmlStr += '</ul><ul class="item-info-right">';
            htmlStr += '<li><a href="/' + username +'/article/details/' + list[i].art_id + '">查看</a></li>';
            htmlStr += '<li><a href="/user/markdown/' + list[i].art_id + '">编辑</a></li>';
                htmlStr += '<li><a href="#">删除</a></li>';
            htmlStr += '</ul></div>';
        }
        $('.article-box').html(htmlStr);
    }
    
    function appendDeleteEvent(list) {
        $('.item-info-right li:last-child').each(function (index) {
            var el = $(this);
            $(el).on('click', function () {
                layer.confirm('是否确定删除该文章？', {
                        btn: ['确定', '取消']
                    }, function() {
                        $.ajax({
                            url: '/user/article/manage/delete/' + list[index].art_id,
                            type: 'POST',
                            data: {
                                'draft' : 1
                            },
                            dataType: 'json',
                            success: function (data) {
                                if(data.code = 200){
                                    $(el).parent().parent().remove();
                                }
                                layer.msg(data.message, {time: 1000});
                            },
                            error: function () {
                                layer.msg('回调失败', {time: 1000});
                            }
                        });
                    }, function () {
                        return;
                    }
                );
            });
        })
    }
});

